import { reactive } from 'vue';

const state = reactive<{
  /**
   * 筛选气泡弹出框是否显示
   */
  filterPopoverVisible: boolean;
  /**
   * 当前页
   */
  activePage: number;
  /**
   * 加载状态
   */
  loading: boolean;
  /**
   * 加载完成状态
   */
  finished: boolean;
  /**
   * APP模糊查询
   */
  keyword: string;
  /**
   * APP当前登录用户ID
   */
  appUserId: string;
  /**
   * 状态：1待审批 2未通过 3未归还 4已归还 可多选
   */
  status: number[];
  /**
   * 列表
   */
  list: AppSysAssetChange.Dto[];
  /**
   * 处置方式
   */
  handleType: {
    [x: string]: string;
  };
  /**
   * tab 索引
   */
  tabIndex: string;
  /**
   * 今日审批
   */
  todayApprove?: number;
  /**
   * 本月审批
   */
  currentMonthApprove?: number;
  /**
   *时间统计
   */
  timeStatistics: {
    /**
     * x轴
     */
    line?: string[];
    /**
     * 基本饼图数据
     */
    content?: {
      /**
       * 数据类型ID
       */
      typeId?: string;
      /**
       * 数据类型名称
       */
      typeName?: string;
      /**
       * 数据
       */
      data?: number[];
    }[];
  };
  /**
   *时间统计
   */
  approveResultStatistics: {
    /**
     * x轴
     */
    line?: string[];
    /**
     * 基本饼图数据
     */
    content?: {
      /**
       * 数据类型ID
       */
      typeId?: string;
      /**
       * 数据类型名称
       */
      typeName?: string;
      /**
       * 数据
       */
      data?: number[];
    }[];
  };
}>({
  filterPopoverVisible: false,
  activePage: 1,
  loading: false,
  finished: false,
  keyword: '',
  appUserId: '',
  status: [1, 2, 3],
  list: [],
  handleType: {},
  tabIndex: '0',
  todayApprove: 0,
  currentMonthApprove: 0,
  timeStatistics: {},
  approveResultStatistics: {},
});

export { state };
